package com.CST.service.ys;

import com.CST.dto.ys.*;
import com.CST.entity.ys.YsAppealRecord;
import com.CST.vo.ys.*;
import com.baomidou.mybatisplus.extension.service.IService;


import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ellen
 * @since 2023-04-27
 */
public interface YsAppealRecordService extends IService<YsAppealRecord> {

    Integer addAppeal(AppealDTO dto, HttpServletRequest request) throws IOException;

    List<YsAppealRecordVO> pageByUser(YsAppealDTO dto, HttpServletRequest request);

    YsRecordWithAccountVO getRecordAccountDetail(YsAppealRecord record,Integer type);

    Boolean updateRecord(UpdateDTO dto) throws IOException;


    YsRecordWithExpenseVO getRecordExpenseDetail(YsAppealRecord record,Integer type);

    YsRecordWithAssetVO getRecordAssetDetail(YsAppealRecord record);

    YsRecordWithIndexVO getRecordIndexDetail(YsAppealRecord record);
    List<YsHandleVO> getAllRecord(HandleDTO dto);

    Integer reject(HandleAppealDTO dto, HttpServletRequest request);

    Integer undoRecord(Long id);
}
